package top.infopub.mgr.bpa.service;

import com.github.pagehelper.Page;
import top.infopub.generic.GenericService;
import top.infopub.mgr.bpa.domain.BpaProjectDomain;
import top.infopub.mgr.bpa.domain.ContractExtDomain;
import top.infopub.mgr.bpa.jsonVo.ContractExtJsonVo;
import top.infopub.mgr.bpa.vo.ContractExtVo;
import top.infopub.mgr.common.vo.RspVo;
import top.infopub.model.bpa.*;
import top.infopub.model.mkt.ProjectAttachment;
import top.infopub.security.vo.AuthorizationVO;

import java.text.ParseException;
import java.util.List;

public interface ContractExtService extends GenericService<ContractExt, String> {

    /**
     * 根据条件查询承继协议记录
     * @param contractExtVo
     * @return
     * @see
     */
    Page<ContractExtDomain> selectByDomainWhere(Page<ContractExtDomain> page, ContractExtVo contractExtVo) throws ParseException;


    List<BpaProjectDomain> selectProject();

    ContractExtJsonVo queryDetailById(String id);

    RspVo saveAll(AuthorizationVO userDtl, String bodyStr, Integer submitType, ContractExt contractExt, BpaContractReviewPublic bpaContractReviewPublic, List<BpaContractSummary> bpaContractSummary, List<BpaContractListing> bpaContractListing, List<BpaContractFormula> bpaContractFormula, BpaContractBid bpaContractBid, BpaContractBusiness bpaContractBusiness, List<ProjectAttachment> attachmentList);

    ContractExt selectBySguid(String id);
}
